package io.github.wesleyone.qy.weixin.robot;

import java.util.Arrays;
import java.util.List;
import java.util.Objects;

/**
 * @author http://wesleyone.github.io/
 */
public interface Constant {
    List<String> KEY_LIST = Arrays.asList("363ebc65-9228-4eee-86f8-7c9d8770b61c","f37e3d56-953d-4b64-a433-11a8de161350","3590a274-e2b7-4484-9ad9-4e0f43b24d8f");
    String BASE64 = "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";
    String MD5 = "d17f293817841470ef2b613b4913b980";
    String IMG_PATH = Objects.requireNonNull(Constant.class.getResource("/")).getPath()+"qrcode.png";
//
//    /**
//     * 文件转成Base64
//     * <p>可用于图片类型消息
//     *
//     * @param filePath  文件路径
//     * @return          Base64编码
//     * @throws IOException  IO异常
//     */
//    static String base64(String filePath) throws IOException {
//        if (filePath == null) {
//            throw new IllegalArgumentException("filePath is null");
//        }
//        if (isAllowImg(filePath)) {
//            throw new IllegalArgumentException("file is not jpg/png");
//        }
//        byte[] byteArray = Files.readAllBytes(Paths.get(filePath));
//        return Base64.getEncoder().encodeToString(byteArray);
//    }
//
//
//    /**
//     * 获取文件的md5值
//     * <p>可用于图片类型消息</p>
//     *
//     * @param filePath  文件路径
//     * @return  MD5编码
//     * @throws IOException  IO异常
//     * @throws NoSuchAlgorithmException 算法不存在异常
//     */
//    static String md5(String filePath) throws IOException, NoSuchAlgorithmException {
//        if (filePath == null) {
//            throw new IllegalArgumentException("filePath is null");
//        }
//        if (isAllowImg(filePath)) {
//            throw new IllegalArgumentException("file is not jpg/png");
//        }
//        MessageDigest md5Algorithm = MessageDigest.getInstance("MD5");
//        byte[] byteArray = Files.readAllBytes(Paths.get(filePath));
//        md5Algorithm.update(byteArray, 0, byteArray.length);
//        byte[] digest = md5Algorithm.digest();
//        StringBuilder md5Sb = new StringBuilder();
//        for (byte b : digest) {
//            String tmp = String.format("%02x", b);
//            if (tmp.length() == 1) {
//                md5Sb.append("0").append(tmp);
//            } else {
//                md5Sb.append(tmp);
//            }
//        }
//        return md5Sb.toString();
//    }
//
//    static boolean isAllowImg(String path) {
//        return !path.toLowerCase(Locale.ROOT).endsWith(".png")
//                && !path.toLowerCase(Locale.ROOT).endsWith(".jpg");
//    }
}
